﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CRC.Incidencias.Presentacion;

namespace CRC.Inspecciones.Presentacion
{
    public partial class UsrGestionInspecciones : Form
    {
        public event EventInformacion Informacion;
        public delegate void EventInformacion(string info);
       
        public UsrGestionInspecciones()
        {
            InitializeComponent();
        }

        private void butProgramacionInspecciones_Click(object sender, EventArgs e)
        {
            ButtonSelected("butProgramacionInspecciones");
            cerrarControles();
            UsrListarInspeccionesPeriodicas listaInspecciones = new UsrListarInspeccionesPeriodicas();
            panelPrincipalInspecciones.Controls.Add(listaInspecciones);
            listaInspecciones.Dock = DockStyle.Fill;
            listaInspecciones.BringToFront();
            Informacion(butProgramacionInspecciones.Text + " : Se muestra un listado de las inspecciones periódicas programadas. Las lineas en rojo indican que son son las más cercanas a la fecha actual. Se puede además generar la documentación para mandar a los inspectores.");           
        }

        private void butHojasInspeccion_Click(object sender, EventArgs e)
        {
            ButtonSelected("butHojasInspeccion");
            cerrarControles();
            UsrListadoHojasInspeccion usrListadoHojasInspeccion = new UsrListadoHojasInspeccion();
            panelPrincipalInspecciones.Controls.Add(usrListadoHojasInspeccion);
            usrListadoHojasInspeccion.Dock = DockStyle.Fill;
            usrListadoHojasInspeccion.BringToFront();
            Informacion(butHojasInspeccion.Text + " : Se muestra un listado con las hojas de inspección creadas, ya sean Informes del CRC, TO-34, S-105. Las filas que aparecen en color rojo indican que el estado del informe es BORRADOR.");
        }

        private void btnDocumentacion_Click(object sender, EventArgs e)
        {
            ButtonSelected("btnDocumentacion");
            cerrarControles();
            UsrListarInspeccionesHECHAS usrSeguimientoInspecciones = new UsrListarInspeccionesHECHAS();
            usrSeguimientoInspecciones.Dock = DockStyle.Fill;
            panelPrincipalInspecciones.Controls.Add(usrSeguimientoInspecciones);
            usrSeguimientoInspecciones.BringToFront();
            Informacion(btnDocumentacion.Text + " : En esta pantalla se puede generar la documentación TOTAL (copias de todos los impresos para los destinatarios correspondientes) de las inspecciónes finalizadas.");


        }

        private void butIncidencias_Click(object sender, EventArgs e)
        {
            ButtonSelected("butIncidencias");
            cerrarControles();
            GestionIncidencias gestionIncidencias = new GestionIncidencias();
            panelPrincipalInspecciones.Controls.Add(gestionIncidencias);
            gestionIncidencias.Dock = DockStyle.Fill;
            gestionIncidencias.BringToFront();
            Informacion(butIncidencias.Text + " : Lista las incidencias de un Salón, examinalas. Abre de nuevas");

        }

        private void butZonasInspectores_Click(object sender, EventArgs e)
        {
            ButtonSelected("butZonasInspectores");
            cerrarControles();
            UsrGestionZonasInspeccion usrGestionZonas = new UsrGestionZonasInspeccion();
            panelPrincipalInspecciones.Controls.Add(usrGestionZonas);
            usrGestionZonas.Dock = DockStyle.Fill;
            usrGestionZonas.BringToFront();
            Informacion(butZonasInspectores.Text + " : Pantallas de gestión para crear/borrar/modificar Zonas y sus respectivos representantes de zona.");

        }
       

        private void butSeguimientoInspecciones_Click(object sender, EventArgs e)
        {
            ButtonSelected("butSeguimientoInspecciones");
            cerrarControles();
            UsrSeguimientoInspecciones usrSeguimientoInspecciones = new UsrSeguimientoInspecciones();
            usrSeguimientoInspecciones.Dock = DockStyle.Fill;
            panelPrincipalInspecciones.Controls.Add(usrSeguimientoInspecciones);
            usrSeguimientoInspecciones.BringToFront();
            Informacion(butSeguimientoInspecciones.Text + " : Se genera la insformación de seguimiento o trazabilidad de los salones y el estado en que se encuentran.");


        }

 /**
         * Descripción: Cerrar todos los controles de panelPrincipalInspecciones
         * 
        **/
        private void cerrarControles() {
            panelPrincipalInspecciones.Controls.Clear();
        }

        private void ButtonSelected(string strName)
        {

            for (int i = 0; i <= panelSecciones.Controls.Count - 1; i++)
            {
                if (panelSecciones.Controls[i].Name.ToString() == strName)
                {
                    panelSecciones.Controls[i].BackColor = Color.SandyBrown;
                }
                else
                {
                    panelSecciones.Controls[i].BackColor = Color.LightSteelBlue;
                }
            }
        }

        


    }
}
